//===========================================================================
//
//  Duke Nukem 
//
//===========================================================================

ACTOR "Duke Nukem" : PlayerPawn 
{
    Speed 1
    Health 100
    Radius 16
    Height 56
    Mass 220
    PainChance 255
    Player.ColorRange 112, 127
	Player.CrouchSprite "DUKC"
    Player.DisplayName "Duke Nukem"
	BloodColor "D1 0C 00" 
	Player.StartItem "Crack Knuckles"
    Player.StartItem "Mighty Foot"
	Player.StartItem " Pistol "
    Player.StartItem "Pistol Reload", 12
	Player.StartItem "Pistol Ammo", 50
    Player.SoundClass "DN3D"
    Player.ViewHeight 45
    Player.JumpZ 10
    Scale 0.7
	DamageFactor "Damage_Foot", 0.25
	DamageFactor "Damage_Pistol", 0.47
    DamageFactor "Damage_DualPistol", 0.47
	DamageFactor "Damage_BlackTail", 0.47
    DamageFactor "Damage_DualBlackTail", 0.47
	DamageFactor "Damage_DesertEagle", 0.47
    DamageFactor "Damage_Shotgun", 0.70
	DamageFactor "Damage_SuperShotgun", 0.48
	DamageFactor "Damage_ExplosiveShotgun", 0.58
    DamageFactor "Damage_ChaingunCannon", 0.49
	DamageFactor "Damage_Minigun", 0.49
	DamageFactor "Damage_LMGBullet", 0.56
    DamageFactor "Damage_Explosion", 0.40
	DamageFactor "Devastator", 0.10
	DamageFactor "Damage_Pipes", 0.59
	DamageFactor "Damage_Tripbomb", 0.61
	DamageFactor "Damage_Shock", 0.39
	DamageFactor "Damage_BigShock", 0.38
	DamageFactor "Damage_Thunder", 0.39
	DamageFactor "Damage_BigThunder", 0.38
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.1
	DamageFactor "Damage_Expander", 0.26
	DamageFactor "Damage_Laser", 0.76
	DamageFactor "Damage_Railgun", 0.34
	DamageFactor "Damage_RailgunAvenger", 0.34
    DamageFactor "Ice", 0.18
    DamageFactor "Fire", 0.32
	DamageFactor "Damage_Pulse", 1.04
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Radial", 0.0
    States
    {
    Spawn:
		DUKE A 1 A_SetScale(0.7,0.7)
	StandStill:	
	    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"StandStill2")
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1 A_StopSoundEx("SoundSlot7")
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1 A_SetScale(0.7,0.7)
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1 
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1 
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1 A_TakeInventory("DukeShrinkCounter",100)
		DUKE A 0 A_TakeInventory("Attacking",1)
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        DUKE A 1 
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		Goto StandStill
	StandStill2:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2) 
		DUKE B 0 A_SetScale(0.7,0.7)
		DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto StandStill
    See:
	    DUKE F 0 A_JumpIfInventory("JetPackActive",1,"See2")
        DUKE C 1 A_TakeInventory("DukeShrinkCounter",100) 
		DUKE C 0 A_StopSoundEx("Body2")
		DUKE C 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE C 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE C 1 A_TakeInventory("Attacking",1)
		DUKE C 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE C 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE C 1 A_TakeInventory("Waiting",15)
		DUKE C 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE C 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE C 1 A_SetScale(0.7,0.7)
		DUKE C 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE C 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE D 1
		DUKE D 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE D 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE D 1
		DUKE D 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE D 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE D 1
		DUKE D 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE D 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE D 1
		DUKE D 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE D 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE E 1
		DUKE E 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE E 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE E 1
		DUKE E 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE E 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE E 1
		DUKE E 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE E 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE E 1
		DUKE E 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE E 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE F 1 
		DUKE F 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE F 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE F 1 
		DUKE F 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE F 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE F 1 
		DUKE F 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE F 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE F 1 
		DUKE F 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE F 0 A_JumpIf(MomZ<0,"IsJumpin")
        Loop
	See2:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2) 
		DUKE B 0 A_SetScale(0.7,0.7)
		DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto See
	IsJumpin: 
	    DUKE I 0 A_JumpIfInventory("JetPackActive",1,"IsJumpin2") 
		DUKE I 0 A_StopSoundEx("SoundSlot7")
        DUKE I 1 A_TakeInventory("DukeShrinkCounter",100) 
		DUKE I 1 A_TakeInventory("Attacking",1)
		DUKE I 1 A_TakeInventory("Waiting",15)
		DUKE A 0 A_JumpIf(MomZ>0,"InAir")
		DUKE A 0 A_JumpIf(MomZ<0,"InAir")
		Goto StandStill
	IsJumpin2:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2) 
		DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto StandStill
	InAir:
	    DUKE I 0 A_JumpIfInventory("JetPackActive",1,"InAir3") 
		DUKE I 1 A_StopSoundEx("SoundSlot7")
		DUKE I 1 A_JumpIf(MomZ==0,"Land")
		DUKE J 1
		DUKE J 1 A_JumpIf(MomZ==0,"Land")
		DUKE J 1
		DUKE J 1 A_JumpIf(MomZ==0,"Land")
		DUKE J 1
		DUKE J 1 A_JumpIf(MomZ==0,"Land")
	InAir2:
	    DUKE K 0 A_JumpIfInventory("JetPackActive",1,"InAir3") 
		DUKE K 0 A_StopSoundEx("SoundSlot7")
		DUKE K 1 A_TakeInventory("Waiting",15)
		DUKE K 1 A_JumpIf(MomZ==0,"Land")
		Loop
	InAir3:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2) 
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto InAir2
	Land:
	    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"Land2") 
		DUKE A 0 A_StopSoundEx("SoundSlot7")
        DUKE A 0 A_SetPitch(+5.0+Pitch)
		DUKE AAAAA 1 A_SetPitch(-1.0+Pitch)
		Goto StandStill
	Land2:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2)
		DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto StandStill
    Missile:
        DUKE A 0 A_JumpIfInventory("JetPackActive",1,"Missile2") 
        DUKE A 0 A_GiveInventory("Attacking",1)
		DUKE A 0 A_StopSoundEx("SoundSlot7")
        DUKE A 1 A_TakeInventory("Waiting",15)
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1 
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
		DUKE A 1
		DUKE A 0 A_JumpIf(MomZ>0,"IsJumpin")
		DUKE A 0 A_JumpIf(MomZ<0,"IsJumpin")
        Goto StandStill
	Missile2:	
	    DUKE B 2 A_PlaySoundEx("JetPack/Active","SoundSlot7",2)
		DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
		DUKE B 0 A_GiveInventory("Attacking",1)
	    DUKE B 3 A_TakeInventory("Waiting",15)
	    Goto StandStill
    Melee:
        DUKE A 0
        Goto Missile
    ActorKick:
        DUKE G 6 
        DUKE H 5 A_TakeInventory("Waiting",15)
        DUKE G 5 A_TakeInventory("DukeShrinkCounter",100)
        Goto StandStill
	Pain:
		DUKE A 1 A_TakeInventory("Waiting",15)
        DUKE A 1 A_Pain
        Goto StandStill
	Pain.Damage_Explosion:
	Pain.Damage_ExplosiveShotgun:
	Pain.Damage_Shock:
	Pain.Damage_BigShock:
	    DUKE A 0 A_Jump(128,"Mad")
		DUKE A 1 A_TakeInventory("Waiting",15)
        DUKE A 1 A_Pain
        Goto StandStill
	Mad:	
	    DUKE A 1 A_TakeInventory("Waiting",15)
        DUKE A 1 A_PlaySound("DukeNukem/Mad",3) 
        Goto StandStill
	Pain.LaserShot:
	    DUKE A 0 
		DUKE A 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		DUKE A 0 HealThing(1)
		Goto StandStill
	Pain.Ice:
        DUKE A 0  
		DUKE A 0 A_TakeInventory("Waiting",15)
		DUKE A 1 A_Pain
        DUKE A 1 ACS_ExecuteAlways(508,0)
        Goto StandStill
	Pain.Fire:
        DUKE A 0  
		DUKE A 0 A_TakeInventory("Waiting",15)
		DUKE A 1 A_PlaySound("DukeNukem/Burn",3) 
        DUKE A 1 ACS_ExecuteAlways(509,0)
        Goto StandStill	
	Pain.LizardSpit:
		DUKE A 0  
		DUKE A 0 A_JumpIfInventory("LizardSpitWindow",1,"Pain") 		
		DUKE A 0 A_TakeInventory("Waiting",15)
		DUKE A 1 A_PlaySound("DukeNukem/Mad",3) 
		DUKE A 0 A_GiveInventory("LizardSpitWindow",1)
        DUKE A 1 ACS_ExecuteAlways(526,0)
        Goto StandStill		
	Pain.Brain:
        DUKE A 0  
		DUKE A 0 A_TakeInventory("Waiting",15)
		DUKE A 1 A_Pain
        DUKE A 1 ACS_ExecuteAlways(527,0)
        Goto StandStill	
    Death:
	    DUKE A 0 
	    DUKE A 0 A_StopSoundEx("SoundSlot7")
	    DUKE O 0 A_PlayerSkinCheck("AltSkinDeath")	
	Death1:	
	    DUKE O 0 
	    DUKE O 0 A_Jump(256,1,7)
        DUKE O 7 A_PlayerScream
        DUKE P 7 ACS_ExecuteAlways(506,0,0,0,0)
        DUKE Q 7 A_NoBlocking
        DUKE RS 7
        DUKE T -1 
        Stop
        DUKE U 7 A_PlayerScream
        DUKE V 7 ACS_ExecuteAlways(506,0,0,0,0)
        DUKE W 7 A_NoBlocking
        DUKE XY 7
        DUKE Z -1 
        Stop
    Death.Damage_Explosion:
	Death.Damage_BigShock:
	Death.Damage_BigThunder:
		DUKE A 0 
	    DUKE A 0 A_StopSoundEx("SoundSlot7")
        DUKE A 1 A_PlaySound("Gib/Explode",5)
        DUKE A 0 A_NoBlocking
        DUKE AAA 0 A_SpawnDebris("DukeGibs1")
        DUKE AAA 0 A_SpawnDebris("DukeGibs2")
		DUKE AAA 0 A_SpawnDebris("DukeGibs3")
        DUKE AAA 0 A_SpawnDebris("DukeGibs4")
        DUKE AAA 0 A_SpawnDebris("DukeGibs5")		
        DUKE AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
		TNT1 A 1 ACS_ExecuteAlways(506,0,0,0,0)
	    TNT1 A -1
	    Stop
	Death.Damage_Expander:
        DUKE A 1 A_PlaySound("Expander/Expand")
		DUKE A 1 A_SetScale(0.71,0.71)
        DUKE A 1 A_SetScale(0.72,0.72)
		DUKE A 1 A_SetScale(0.73,0.73)
		DUKE A 1 A_SetScale(0.74,0.74)
		DUKE A 1 A_SetScale(0.75,0.75)
		DUKE A 1 A_SetScale(0.76,0.76)
		DUKE A 1 A_SetScale(0.77,0.77)
		DUKE A 1 A_SetScale(0.78,0.78)
		DUKE A 1 A_SetScale(0.79,0.79)
		DUKE A 1 A_SetScale(0.80,0.80)
		DUKE A 1 A_SetScale(0.81,0.81)
		DUKE A 1 A_SetScale(0.82,0.82)
		DUKE A 1 A_SetScale(0.83,0.83)
		DUKE A 1 A_SetScale(0.84,0.84)
		DUKE A 1 A_SetScale(0.85,0.85)
		DUKE A 1 A_SetScale(0.86,0.86)
		DUKE A 1 A_SetScale(0.87,0.87)
		DUKE A 1 A_SetScale(0.88,0.88)
		DUKE A 1 A_SetScale(0.89,0.89)
		DUKE A 1 A_SetScale(0.90,0.90)
		DUKE A 1 A_SetScale(0.91,0.91)
		DUKE A 1 A_SetScale(0.92,0.92)
		DUKE A 1 A_SetScale(0.93,0.93)
		DUKE A 1 A_SetScale(0.94,0.94)
		DUKE A 1 A_SetScale(0.95,0.95)
		DUKE A 1 A_SetScale(0.96,0.96)
		DUKE A 1 A_SetScale(0.97,0.97)
		DUKE A 1 A_SetScale(0.98,0.98)
		DUKE A 1 A_SetScale(0.99,0.99)
		DUKE A 1 A_SetScale(1.00,1.00)
		DUKE A 1 A_SetScale(1.01,1.01)
		DUKE A 1 A_SetScale(1.02,1.02)
		DUKE A 1 A_SetScale(1.03,1.03)
		DUKE A 1 A_SetScale(1.04,1.04)
		DUKE A 1 A_SetScale(1.05,1.05)
		DUKE A 1 A_SetScale(1.06,1.06)
		DUKE A 1 A_SetScale(1.07,1.07)
		DUKE A 1 A_SetScale(1.08,1.08)
		DUKE A 1 A_SetScale(1.09,1.09)
		DUKE A 1 A_SetScale(1.10,1.10)
		DUKE A 1 A_SetScale(1.11,1.11)
		DUKE A 1 A_SetScale(1.12,1.12)
		DUKE A 1 A_SetScale(1.13,1.13)
		DUKE A 1 A_SetScale(1.14,1.14)
        DUKE A 25 A_SetScale(1.15,1.15)
        DUKE A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,0,0)
        Goto Death.Damage_Explosion
	AltSkinDeath:	
	    DUKE O 0 
	    DUKE O 0 A_Jump(256,1,7)
        DUKE O 7 A_PlayerScream
        DUKE P 7 ACS_ExecuteAlways(506,0,0,0,0)
        DUKE Q 7 A_NoBlocking
        DUKE RS 7
        DUKE T -1 
        Stop
        DUKE U 7 A_PlayerScream
        DUKE V 7 ACS_ExecuteAlways(506,0,0,0,0)
        DUKE W 7 A_NoBlocking
        DUKE XY 7
        DUKE Z -1 
        Stop
	Burn:
	    DFKE O 0 
	    DFKE O 0 A_StopSoundEx("SoundSlot7")
	    DFKE O 0 A_PlayerSkinCheck("AltSkinBurn")	
	Burn1:	
	    DFKE O 0
	    DFKE O 0 A_Jump(256,1,41)
        DFKE O 0 A_PlayerScream
		DFKE OOOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE P 0 ACS_ExecuteAlways(506,0,0,0,0) 
		DFKE PPPPPPP 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE Q 0 A_NoBlocking 
		DFKE QQQQQQQ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE RRRRRRRSSSSSSS 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE T 1 A_SpawnItemEx("FireintheFloor")
		DFKE T -1 
        Stop
		DFKE U 0 
        DFKE U 0 A_PlayerScream
		DFKE UUUUUUU 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE V 0 ACS_ExecuteAlways(506,0,0,0,0) 
		DFKE VVVVVVV 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE W 0 A_NoBlocking 
		DFKE WWWWWWW 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE XXXXXXXYYYYYYY 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE Z 1 A_SpawnItemEx("FireintheFloor")
		DFKE Z -1 
        Stop
	AltSkinBurn:	
	    DFKE O 0 
	    DFKE O 0 A_Jump(256,1,41)
        DFKE O 0 A_PlayerScream
		DFKE OOOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE P 0 ACS_ExecuteAlways(506,0,0,0,0) 
		DFKE PPPPPPP 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE Q 0 A_NoBlocking 
		DFKE QQQQQQQ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE RRRRRRRSSSSSSS 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE T 1 A_SpawnItemEx("FireintheFloor")
		DFKE T -1 
        Stop
		DFKE U 0 
        DFKE U 0 A_PlayerScream
		DFKE UUUUUUU 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE V 0 ACS_ExecuteAlways(506,0,0,0,0) 
		DFKE VVVVVVV 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE W 0 A_NoBlocking 
		DFKE WWWWWWW 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE XXXXXXXYYYYYYY 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        DFKE Z 1 A_SpawnItemEx("FireintheFloor")
		DFKE Z -1 
        Stop
    }
}

ACTOR PainTripLaser
{
    Radius 1
    Height 1
    Speed 1
    Damage (1)
    Projectile
	+DONTSPLASH
	+BLOODLESSIMPACT
    +NOBLOOD
    States
    {
    Spawn:
    Death:
        TRIP E 0 
		TNT1 A 1 A_SpawnItemEx("LaserExplode")
        Stop
    }
}

ACTOR LaserExplode
{
    Radius 1
    Height 1
    Speed 1
    Damage (1)
    Projectile
	DamageType "LaserExplosion"
	+DONTSPLASH
	+BLOODLESSIMPACT
    +NOBLOOD
    States
    {
    Spawn:
    Death:
        TNT1 A 0 
		TNT1 A 1 A_Explode(2,800)
        Stop
    }
}

ACTOR ExpanderExplosion
{
    Radius 1
    Height 1
    Speed 0
    Projectile
    Scale 1.0
    DamageType "Explosion"
	RenderStyle Add
    +NOCLIP  
	+FORCERADIUSDMG
    States
    {
    Spawn:
		TNT1 A 0
	    TNT1 A 0 A_PlaySound("Explosion/Sounds",12)
		TNT1 A 0 A_PlaySound("Explosion/Sounds2",11)
		TNT1 AAAAAAAAAA 0 A_CustomMissile("ExplosionFlame",10,0,Random(0,360),2,Random(0,360))
		TNT1 A 0 A_Explode(128,192,0)
        TNT1 A 0 A_Explode(128,192)
        TNT1 A 1 A_SpawnItemEx("DukeNukemExplosion",0,0,0,0,0,0,0,0)
        Stop
    }
}

ACTOR DukeNukemExplosion
{
    Radius 1
    Height 1
    Speed 0
    +NOCLIP
    Projectile
	RenderStyle Add
    Scale 1.05
    States
    {
    Spawn:
	    TNT1 A 0	
		RPGX BCDEFGHIJKLMNOPQRSTUV 2 Bright
        Stop
        }
}

ACTOR ExplosionFlame
{
    Scale 2.0
    Speed 1
	Radius 1
	Height 1
	Damage 0 
	RenderStyle Add
	Alpha 1
	Gravity 0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOCLIP
	States
	{
    Spawn:
        EXPL AA 4 Bright A_SpawnItem("RedFlare",0,0)
        EXPL BCDF 4 Bright 
        EXPL GHII 4 Bright
        Stop
	}
}

ACTOR RedFlare 
{
    Radius 1
    Height 1
    Alpha 0.4
    Scale 0.45
    RenderStyle Add
    +NOINTERACTION
    +NOGRAVITY
    +CLIENTSIDEONLY
    States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		LENR A 4 Bright
		Stop
		TNT1 A 0 
		LENR A 4 Bright A_SetScale(0.40,0.40)
		Stop
	}
}

ACTOR GlasShard : IceChunk Replaces IceChunk
{
    Radius 3
    Height 4	
    Mass 1
    Gravity 0.6
	BounceFactor 0.5
	Scale 0.56
	Alpha 2.0
	+DROPOFF
	+CANNOTPUSH
	+DOOMBOUNCE
	+CANBOUNCEWATER
	+MISSILE
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +NOBLOCKMAP
    +NOTELEPORT
	States
    {
    Spawn:
		BRIC ABC 2 
	Death:
        BRIC D 10 
		BRIC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_FadeOut(0.1)
		Stop
        }
}

ACTOR NewIceChunkHead : IceChunkHead Replaces IceChunkHead
{
	 Radius 3
	 Height 4
	 Mass 5
	 Gravity 0.6
	 RenderStyle Add
	 +DROPOFF
	 +CANNOTPUSH
	 States
	 {
	 Spawn:
		  TNT1 A 0
		  TNT1 A 10 A_CheckPlayerDone
		  Wait
	      }
}

ACTOR FireintheFloor
{     
	Height 0
    Radius 0
	RenderStyle Add
	Scale 0.5
	+MOVEWITHSECTOR
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
    +CLIENTSIDEONLY
    States
	{
	Spawn:
        RLME A 0
		RLME A 0 A_JumpIfInventory("FireActiveCount",15,"Death")
	    RLME A 0 A_PlaySoundEx("Incinerator/FireLoop","SoundSlot8",1)
	    RLME A 1 Bright A_CustomMissile("MinimalFlameTrails",15,0,Random(0,360),2,Random(70,110))
		RLME BCD 1 Bright 
		RLME E 1 Bright A_CustomMissile("MinimalFlameTrails",15,0,Random(0,360),2,Random(70,110))
		RLME FGH 1 Bright 
		RLME I 1 Bright A_CustomMissile("MinimalFlameTrails",15,0,Random(0,360),2,Random(70,110))
		RLME JKL 1 Bright 
		RLME M 1 Bright A_CustomMissile("MinimalFlameTrails",15,0,Random(0,360),2,Random(70,110))
		RLME N 1 Bright A_GiveInventory("FireActiveCount",1)
		Loop
    Death:
	    TNT1 A 0 
		TNT1 A 3 A_CustomMissile ("MinimalFlameTrails",2,0,Random(0,360),2,Random(60,130))
		TNT1 A 0 A_TakeInventory("FireActiveCount",15)
		TNT1 A 0 A_StopSoundEx("SoundSlot8")
		TNT1 AAAA 3 A_CustomMissile ("MinimalFlameTrails",2,0,Random(0,360),2,Random(60,130))
	    TNT1 AAA 8 A_CustomMissile ("MinimalFlameTrails",1,0,Random(0,360),2,Random(60,130))
		Stop
	    }
}    
		
ACTOR MinimalFlameTrails
{
    Radius 1
	Height 1
	Speed 4
	Damage 0 
	RenderStyle Add
    Scale 0.4
	Alpha 1.0
	Gravity 0
	+NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOCLIP
	+FORCEXYBILLBOARD
	States
	{
    Spawn:
	    TNT1 A 0
        FIR1 FGGHHII 1 Bright
	    Stop
	    }
}

ACTOR FireActiveCount : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 15
}

ACTOR FirePuffDuke
{
    Radius 1
    Height 1
    Renderstyle Add
	Scale 0.5
    -SOLID
	+NOGRAVITY
	+NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
        FI09 G 3 Bright
		FI09 H 3 Bright 
		FI09 I 4 Bright
		FI09 JK 5 Bright
        Stop
        }
}

ACTOR DukeRunning : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}

ACTOR DukeTaunting : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}

ACTOR Waiting : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 15
}

ACTOR Attacking : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}

ACTOR LizardSpitWindow : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}